package br.com.future.action;

import java.util.List;

import org.apache.struts2.convention.annotation.Action;
import org.apache.struts2.convention.annotation.Result;

import br.com.future.bo.ProcessoBO;
import br.com.future.bo.TituloBO;
import br.com.future.dao.interfaces.BloqueioDesbloqueioDAOI;
import br.com.future.dao.interfaces.DAOFactory;
import br.com.future.dao.interfaces.ProcessoDAOI;
import br.com.future.model.Processo;
import br.com.future.model.Titulo;

import com.opensymphony.xwork2.ActionSupport;

public class TituloAction extends ActionSupport {

	private static final long serialVersionUID = 1L;
	private List<Titulo> titulos;
	private Processo processo;
	private int idTitulo;
	private String motivo;
	private List<Processo> processosBloqueados;
	Titulo titulo;
	@Action(value = "controlePagamentos", results = {
			@Result(name = "controle",location = "/controlePagamento.jsp")
	})
	public String carregarProcessos(){
		carregarTitulos();
		return "controle";
	}
	
	
	@Action(value = "buscarPagamento", results = {
			@Result(name = "busca",location = "/controlePagamento.jsp")
	})
	
	public String ConsultarTitulo(){
		buscarTitulo();
		return "busca";
	}

	@Action(value = "historicoBloqueio", results = {
			@Result(name = "ok",location = "/historicoBloqueio.jsp")
	})
	public String gerarHistorico(){
		buscarProcessoBloqueado();
		return "ok";
	}


	private void buscarProcessoBloqueado() {
		ProcessoDAOI processoDAO = DAOFactory.getDAOFactory(DAOFactory.ORACLE).getProcessoDAO();
		processo = processoDAO.consultar((long) idTitulo);
		
		BloqueioDesbloqueioDAOI bloqueioDAO = DAOFactory.getDAOFactory(DAOFactory.ORACLE).getBloqueioDesbloqueioDAO();
		motivo = bloqueioDAO.consultar(1).getDescricaoBloqueioDesbloqueio();
	}
	private String carregarTitulos(){
		//titulos = TituloBO.consultar();
		processosBloqueados = ProcessoBO.carregarProcessosBloqueados();
		return SUCCESS;
	}
	
	private String buscarTitulo(){
		titulo = TituloBO.consultarPorID(idTitulo);
		return SUCCESS;
	}
	
	public List<Titulo> getTitulos() {
		return titulos;
	}
	public void setTitulos(List<Titulo> titulos) {
		this.titulos = titulos;
	}

	public int getIdTitulo() {
		return idTitulo;
	}

	public void setIdTitulo(int idTitulo) {
		this.idTitulo = idTitulo;
	}

	public Titulo getTitulo() {
		return titulo;
	}

	public void setTitulo(Titulo titulo) {
		this.titulo = titulo;
	}

	public String getMotivo() {
		return motivo;
	}

	public void setMotivo(String motivo) {
		this.motivo = motivo;
	}

	public Processo getProcesso() {
		return processo;
	}

	public void setProcesso(Processo processo) {
		this.processo = processo;
	}


	public List<Processo> getProcessosBloqueados() {
		return processosBloqueados;
	}


	public void setProcessosBloqueados(List<Processo> processosBloqueados) {
		this.processosBloqueados = processosBloqueados;
	}
	
}
